Method and apparatus for managing bookmark information for content stored in a networked media server

ABSTRACT

A method and apparatus for managing bookmark information of a media server through a network based on the UPnP AV standard is disclosed. If a request for bookmarking a content item is made, a bookmark item is created and the created bookmark item is linked to the content item by adding the ID of the created bookmark item to the property information of the content item and recording the ID of the content item to be bookmarked in the created bookmark item.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to bookmarking a content object and, moreparticularly, but not by way of limitation, to a method and apparatusfor managing bookmark information for content objects stored in a mediaserver through a network based on the UPnP AV standard.

2. Description of the Related Art

As the computing power of small devices improves, various inexpensiveand universal networking techniques are appearing and beingcommercialized

With the addition of Plug and Play (PnP) capabilities to the PCoperating system it became a great deal easier to setup, configure, andadd peripherals to a PC. Universal Plug and Play (UPnP) is an extensionof the PnP technique to the entire network with a view to enablingdiscovery and control of networked devices and services, such asnetwork-attached printers, Internet gateways, and consumer electronicsequipment. The UPnP is based upon Internet technologies such as TCP/IP,HTTP, and XML.

The UPnP AV architecture defines three main logical entities: a mediaserver (MS), a media renderer (MR), and an AV control point (CP). Themedia server (MS) has access to entertainment content and can send thatcontent to another UPnP AV device via the network. The media renderer(MR) is able to receive external content from the network and render iton its local hardware. The AV control point (CP) coordinates theoperation of the media server (MS) and the media renderer (MR).

In the UPnP architecture, each time a UPnP action such as a browsingaction from the AV control point (CP) comes in, the media server (MS)exposes information on its content. The content selected through theuser interface of the A/V control point (CP) is transferred to the mediarenderer (MR) from the media server (MS) using a streaming technique andplayed by the media renderer (MR).

The playback of the content can be stopped by user's request while thecontent is being played and then resumed afterward. For example, a usermay turn off an MP3 player while listening to music and want to resumeplaying of the music from the stopped position later. Similarly, a usermay stop a DVD player while watching a DVD movie and want to resume themovie from the stopped position later. To this end, content playersautomatically store information about the state of the content beingplayed when power is turned off or playback is stopped. Such a functionis called automatic bookmarking.

Generally, bookmarking refers to storing the URL (uniform resourcelocator) of a web page that you visit using a web browser such as theNetscape navigator so that you can revisit the page easily at a latertime. Once the URL of a web page is stored in the bookmark, the user canselect the URL from the bookmark to visit the web page without enteringthe URL.

The media server in a home network can store a lot of contents, i.e.,media files and can provide the same content to a plurality of userssimultaneously through the network. The simple bookmarking functionwhich stores the position at which the playing of the content is stoppedis not appropriate when a plurality of users are playing the samecontent. The media server, therefore, requires an improved bookmarkingfunction.

SUMMARY OF THE INVENTION

In view of the shortcomings of the prior art, it is an object of thepresent invention to provide a method and apparatus that allows aplurality of users to bookmark contents stored in a media serverindividually.

It is another object of the invention to provide a method and apparatusthat allows individual bookmarking of media contents based on the UPnPAV standard.

According to the present invention, if a request for bookmarking acontent object is received a bookmark object is created and an ID of thecreated bookmark object is added to property information of the contentobject.

According to the present invention, when a bookmark object is created,the ID of the content object to be bookmarked is included in the createdbookmark object.

In one embodiment of the invention, the directory for storing bookmarkobjects is separated from the directory for storing content objects.

In another embodiment bookmark objects are stored in a container placedin the directory for storing content objects.

In one embodiment of the invention, a bookmark object comprises abookmark object ID for uniquely identifying the bookmark object, an IDof the bookmarked object, a title written in a user-readable format, abookmark object class, a UDN for storing the ID of rendering controlservice (RenderingControl Service) and/or the ID of AVTransport service(AVTS) of a media renderer which was presenting the bookmarked object,and a list of state variables for storing the state variables of theRenderingControl service and AVTransport service.

In one embodiment of the invention, if a content object is bookmarked, abookmark object is created and the ID thereof is added to metadataindicating the property of the bookmarked object.

In one embodiment of the invention, if a request for bookmarking acontent is received, the control point sends a request for creating abookmark to the media server. Receiving the request, the media servercreates a bookmark object based upon the received information and addsthe ID of the created bookmark object to metadata of the content objectto be bookmarked.

In another embodiment of the invention, if a request for bookmarking acontent is received, the control point sends a request for creating abookmark to the media server. Receiving the request, the media servercreates a bookmark object and sends the ID of the created object to thecontrol point. The control point adds the ID of the bookmark object tometadata of the content object to be bookmarked and requests the mediaserver to update metadata of the content object.

In one embodiment of the invention, the ID of a created bookmark objectis determined according to a rule defined by the media server storingcontent objects.

In one embodiment of the invention, the class of the bookmark object isdefined to “object.item.bookmarkitem”.

BRIEF DESCRIPTION OF THE DRAWINGS

The above features and other advantages of the present invention will bemore clearly understood from the following detailed description taken inconjunction with the accompanying drawings, in which:

FIG. 1 illustrates a directory structure for storing bookmark objects inaccordance with one embodiment of the present invention;

FIG. 2 illustrates a bookmark object structure in accordance with thepresent invention;

FIGS. 3 a and 3 b illustrate the procedures for creating a bookmarkobject according to preferred embodiments of the present invention; and

FIG. 4 illustrates the relation between a content object and a pluralityof bookmark objects created in accordance with one embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In order that the invention may be fully understood, preferredembodiments thereof will now be described with reference to theaccompanying drawings.

The preferred embodiments of the present invention satisfy the followingconditions for implementing a bookmark functionality based upon the UPnPAV standard.

1. Every object provided by the media server in the UPnP AV architecturecan be bookmarked.

(1-1) Because it is not that the media server provides only a singlecontent to users, contents can be bookmarked individually.

(1-2) One content can be bookmarked at several different locationswithin the content.

2. The list of saved bookmarks can be displayed to allow a bookmark canbe selected therefrom.

(2-1) Information on all of the saved bookmarks can be provided to theusers and all of the bookmarks are placed in a single container formaking it easy to select one bookmark from among the bookmarks.

(2-2) Because the number of bookmarks that can be displayed may belimited, information specifying the number of bookmarks to be displayedcan be provided.

(2-3) Information on the starting index specifying the starting positionfor searching bookmarks can be provided.

(2-4) Information on the number of the saved bookmarks can be provided.

3. If a bookmark is selected, a content can be played or removed usingthe information of the selected bookmark.

FIG. 2 illustrates a bookmark object structure in accordance with thepresent invention. The structured bookmark objects are stored in aparticular container of the media server.

The bookmark object structure shown in FIG. 2 contains a bookmark ID foruniquely identifying a bookmark object (BM objectID) 210, a unique ID ofa bookmarked object (Bookmarked ObjectID) 211, a bookmark title writtenin a user-readable format (e.g., character string) (Title) 212, abookmark object class (Object Class) 213, a unique device number (UDN)for storing the ID of the rendering control service (RenderingControlService) and/or the ID of the AVTransport service (AVTS) of the rendererthat is presenting the bookmarked object 214, and a list of statevariables for storing the RenderingControl service state variables(e.g., sound volume or luminance) and the AVTS state variables (e.g.,presentation time) (State Variable List) 215. For example, the bookmarkobject class 213 is newly defined to “object.item.bookmarkitem”.

The bookmark object ID (BM objectID) 210 is determined automaticallyaccording to a predefined rule when a bookmark object is created.Information to be recorded in the bookmark title (Title) 212, thebookmark object class (Object Class) 213, the unique device number (UDN)214, and the list of state variables (State Variable List) 215 isprovided by the AV control point (CP) when the AV control point (CP)makes a request for the creation of a bookmark. The information to becontained in the list of state variables (State Variable List) 215, etc.is received from the media renderer (MR) and provided to the mediaserver (MR).

The procedure for creating a bookmark object of the above structure andmanaging the information thereof will now be described in detail.

FIG. 3 a illustrates the procedure for creating a bookmark in accordancewith an embodiment of the present invention, wherein a content object(also called content item) that is currently being played is bookmarked.

If a user makes a request for bookmarking the content 311 that is beingplayed by a media renderer (not illustrated), a bookmark object (alsocalled bookmark item) is created by using “CreateObject” action definedby the UPnP AV standard.

The procedure will be described in more detail. If the user makes arequest for bookmarking the content being played, (S301), the controlpoint 320 requests the RenderingControl service and AVTS of the mediarenderer to provide the state variables for the content and receives thestate variables through “GetStateVariables( )” action (S302). Thecontrol point 320 is a control application capable of detecting andcontrolling other devices and/or services. The control point 320 isexecuted on a device having a user-friendly environment such as a PDA.The control point 302 can be incorporated into the media renderer.

If the streaming from the media server 310 to the media renderer is donein push mode wherein AVTS is executed on the media server 310, thecontrol point 320 receives the state variables of AVTS from the mediaserver 310.

The control point 320 calls “CreateObject action” so that the contentdirectory service (CDS) of the media server 310 creates a bookmarkobject. Bookmark information to be contained in the bookmark object isalso provided as arguments to the action (S303). The bookmarkinformation is information to be recorded in the fields of the ID of thebookmarked object 211, the title 212, the object class 213, the uniquedevice number (UDN) 214, and the list of state variables 215 shown inFIG. 2. The control point 320 delivers the unique device number (UDN) ofthe RenderingControl service of the media renderer (or the unique devicenumber (UDN) of the AVTS), which was obtained when the control point 320made connection for transmission of the content currently beingstreamed, by storing it in the UDN field.

The information to be stored in the title 212 may be organized into avendor-specific part and a user input part. If the title 212 containsseparate room for the user input part, the control point 320 requeststhe user to enter a desired string for easy identification of thecontent and transfers the user-entered string to the media server 310 asan input argument to “CreateObject” action. Alternatively, the controlpoint 320 can transfer the title of the object to be bookmarked to themedia server 310. The information to be stored in the object class 213is “object.item.bookmarkitem” as mentioned above. Additional informationcan be transferred in different embodiments.

“CreateObject” action for creating the bookmark object and inputarguments thereof are written in a mark-up language such as XML anddelivered to the media server 310.

Receiving the action, the content directory service (CDS) of the mediaserver 310 creates a bookmark object based on the information containedin the input arguments to the action. The ID of the bookmark object isgenerated according to a predefined rule and recorded in the bookmarkobject ID (BM ObjectID) field 210 (S304).

Before creating the bookmark object, the content directory service (CDS)of the media server 310 first determines if bookmark objects having thesame information contained in the input arguments to the “CreateObject”action exist. A bookmark object is newly created only when there is nosuch bookmark.

The existing UPnP AV standard requires that every content should becontained in a root object having the ID of “0”. In the preferredembodiment of the present invention shown in FIG. 1, however, there is aseparate directory structure exclusively for storing bookmark objects.In this embodiment, general browsing actions show only the directory forstoring contents. The directory for storing bookmark objects is shown byonly special actions. Like the ID of the root object of the contentdirectory, the ID of the root object of the bookmark directory ispredefined (e.g., “bookmark_holder”).

It is also possible to place the container for storing bookmark objectsin a special container under the root container “0”.

If the control point 320 set the parentobjectID to “bookmark_holder”when calling the “CreateObject” action, the content directory service(CDS) of the media server 310 creates the bookmark object under the rootcontainer 312 the ID of which is “bookmark_holder”.

After creating the bookmark object as described above, the contentdirectory service (CDS) of the media server 310 adds the ID of thecreated bookmark object to the metadata describing the property of thebookmarked object, i.e., the content being played. In other words, thecontent directory service (CDS) updates the information about thebookmarked object (S305). The reason for linking the bookmark object andthe bookmarked object by storing the ID of the bookmark object in thebookmarked object is to update also the bookmark object linked to thecontent object when the content object is changed.

For example, if the content object linked to the bookmark object isremoved, the bookmark object is not valid any more. In this case, whenthe content object is removed, the bookmark object linked to the contentobject is detected using the stored bookmark object ID and the linkedbookmark object is removed as well.

After creating the bookmark object and updating the metadata of thelinked content object, the content directory service (CDS) of the mediaserver 310 transfers the ID of the created bookmark object and theupdated metadata of the content object to the control point 320 (S306and S307) so that the control point 320 can update its information aboutobjects and bookmarks that have been received through a previousbrowsing action. The information transfer can be done through a reply tothe “CreateObject action for creating the bookmark object or through anevent generated by a change in the information about objects managed bythe content directory service (CDS).

FIG. 3 b illustrates another embodiment of the present invention. Thecontent directory service (CDS) of the media server 310 creates arequested bookmark object (S314) and transfers the ID of the createdbookmark object to the control point 320 (S315). Receiving the ID, thecontrol point 320 constructs complete information on the bookmark object(including the ID) and records the link information for the bookmarkobject (i.e., the ID of the bookmark object) in the metadata of thecontent object to be bookmarked. The control point 320 then makes arequest for updating the metadata of the content object to the mediaserver 310 (S316) so that the content directory service (CDS) of themedia server 310 adds the ID of the bookmark object to the contentobject (S317), thereby allowing synchronization of data related to thebookmark object.

If more than one request for bookmarking one content is received, themedia server 310 creates bookmark objects as many as the number of therequests in the corresponding bookmark container as shown in FIG. 4 andrecords the ID of each of the created bookmark objects in the metadataof the content object.

In the example shown in FIG. 4, a content object having the ID of “30”is linked to 4 bookmark objects (402) generated by 4 bookmarking actions(401). Each of the bookmark objects contains the ID of the linkedcontent object “30”. The metadata 403 of the content object alsocontains the IDs of the 4 linked bookmark objects (“1”, “2”, “3”, and“4”).

The procedure for searching bookmarks registered as described above isdescribed below.

To search a bookmark object, the control point 320 makes a request forbrowse action to the media server 310 with setting the parentobjectIDfield to “bookmark_holder” (or the ID of the container wherein bookmarkobjects are stored). If the directory for bookmark objects is separatedfrom the directory for contents, only the bookmark objects are foundwhile the content items and/or containers are found together when therequest for “browse” action is made with parentobjectID field set to“0”.

The control point 320 may make a request for “browse bookmark” action,which has the same function as “browse” action, to the media server 310with setting the root ID to “0” instead of setting to the root ID of thebookmark object directory structure (e.g., “bookmark_holder”). If“browse bookmark” action is requested, the content directory service(CDS) of the media server 310 interprets the value of the parentobjectIDfield which is set to “0” as the root ID of the bookmark objectdirectory structure (e.g., “bookmark_holder”) and searches the childitems, i.e., bookmark objects, wherein the parentobjectID is deliveredas an input argument to the action. The detected bookmark objects aretransferred to the control point 320 as the result of “browse bookmark”action.

The syntax for specifying the number of bookmark objects to retrieve andfrom which object the search operation starts in “browse bookmark”action is the same as the syntax of “browse” action.

To delete a bookmark object “DestroyObject” action is used with the samesyntax for deleting a content object. When a bookmark object is deleted,the content directory service (CDS) of the media server 310 removes theID of the bookmark object from the metadata of the bookmarked objectlinked to the bookmark object. The updated object information isprovided to the control point 320 in an appropriate manner so that mediaserver 310 and the control point 310 can synchronize their objectinformation.

The present invention allows a user to bookmark content objects as manyas required at any position, thereby providing a more convenientenvironment for playing contents.

The present invention automatically executes editing operations requiredfor management of bookmarks and contents by effectively linking createdbookmarks and content objects, thereby facilitating the bookmarkmanagement.

While the invention has been disclosed with respect to a limited numberof embodiments, those skilled in the art, having the benefit of thisdisclosure, will appreciate numerous modifications and variationstherefrom. It is intended that all such modifications and variationsfall within the spirit and scope of the invention.

1-18. (canceled)
 19. A method for managing a bookmark item stored in adevice, the method comprising: destroying a content item stored in thedevice containing bookmark reference information; and removing abookmark item stored in the device associated with the content item bythe bookmark reference information.
 20. The method of claim 19, furthercomprising: receiving a request for deleting the bookmark item stored inthe device; and performing the destroying and removing steps accordingto the request.
 21. The method of claim 19, wherein the bookmark itemcomprises: an identification of a bookmarked content item; a uniquedevice number (UDN) for storing an identification of at least one of aRendering Control Service (RCS) and an AVTransport service (AVTS) forpresenting the content item; and a list of state variables for storingstate variables of the at least one of the RCS and AVTS.
 22. The methodof claim 21, wherein the bookmark item further comprises: a bookmarkitem identification for uniquely identifying a bookmark item; a titlewritten in a user-readable format; and bookmark object class.
 23. Themethod of claim 22, wherein the bookmark object class is defined asobject.item.bookmarkitem.
 24. The method of claim 19, wherein thebookmark reference information is an identification of a bookmark itemincluded in property information of the content item.
 25. A method formanaging a bookmark item stored in a device, the method comprising:destroying the bookmark item stored in the device; and removing propertyinformation associated with the bookmark item from a content item storedin the device.
 26. The method of claim 25, further comprising: receivinga request for deleting the bookmark item stored in the device; andperforming the destroying and removing steps according to the request.27. The method of claim 25, further comprising prior to the removingstep, finding a content item stored in the device associated withproperty information included in the bookmark item.
 28. The method ofclaim 27, wherein the property information included in the bookmark iteman identification of the content item.
 29. The method of claim 27,wherein the destroying, finding and removing steps are performed by acontent directory service.
 30. A method for managing a bookmark itemstored in a device, the method comprising: destroying a content itemstored in the device; finding a bookmark item stored in the deviceassociated with property information of the content item; and deletingthe bookmark item.
 31. A system for providing contents through anetwork, the system comprising: a media server for storing content itemsincluding media data; and a control application for requesting deletionof a content item stored in the media server, the content item includingbookmark reference information; wherein the media server, responsive tothe request, destroys the content item and a bookmark item stored in themedia server associated with the content item by the bookmark referenceinformation.
 32. The system of claim 31, wherein the bookmark itemcomprises; an identification of a bookmarked content item; a uniquedevice number (UDN) of at least one of a Rendering Control Service (RCS)and an AVTransport service (AVTS) for presenting the content item; and alist of state variables for storing state variables of the at least oneof the RCS and AVTS.
 33. The system of claim 32, wherein the bookmarkitem further comprises: a title written in a user-readable format; and abookmark object class.
 34. The system of claim 33, wherein the bookmarkobject class is defined as bookmark.item.bookmarkitem.
 35. The system ofclaim 31, wherein the bookmark reference information is anidentification of a bookmark item included in property information ofthe content item.
 36. A system for providing contents through a network,the system comprising: a media server for storing content itemsincluding media data; and a control application for requesting deletionof a bookmark item stored in the media server; wherein the media server,responsive to the request, destroys the bookmark item and removesproperty information associated with the bookmark item from a contentitem stored in the media server.
 37. The system of claim 36, wherein themedia server prior to the removing step, finds a content item stored inthe device associated with property information included in the bookmarkitem.
 38. The system of claim 37, wherein the property informationincluded in the bookmark item includes an identification of the contentitem.
 39. The system of claim 37, wherein the destroying, finding andremoving operations are performed by a content directory serviceembedded in the media server.
 40. A system for providing contentsthrough a network, the system comprising: a media server for storingcontent items including media data; and a control application forrequesting deletion of a content item stored in the media server;wherein the media server, responsive to the request, destroys thecontent item, finds a bookmark item stored in the media serverassociated with property information of the content item, and deletesthe bookmark item.
 41. An apparatus for conducting bookmark-relatedoperations, the apparatus comprising: a media server for storing contentitems including media data, wherein responsive to a received deletionrequest for a content item containing bookmark reference information,the media server destroys the content item and a bookmark itemassociated with the content item by the bookmark reference information.42. An apparatus for conducting bookmark-related operations, theapparatus comprising: a control application for requesting a device todestroy a content item containing bookmark reference information and abookmark item associated with the content item by the bookmark referenceinformation.
 43. An apparatus for conducting bookmark-relatedoperations, the apparatus comprising: a media server for storing contentitems including media data, wherein responsive to a received deletionrequest for a bookmark item stored in the media server, the media serverdestroys the bookmark item and removes property information associatedwith the bookmark item from a content item stored in the media server.44. An apparatus for conducting bookmark-related operations, theapparatus comprising: a control application for requesting a device todestroy a bookmark item stored in the device and remove propertyinformation associated with the bookmark item from a content item storedin the device.
 45. An apparatus for conducting bookmark-relatedoperations, the apparatus comprising: a media server for storing contentitems including media data, wherein responsive to a received deletionrequest for a bookmark item stored in the media server, the media serverdestroys the bookmark item, finds a content item stored in the mediaserver associated with property information included in the bookmarkitem, and removes property information associated with the bookmark itemfrom the content item.
 46. A system for conducting bookmark-relatedoperations, the system comprising: a media server for storing contentitems including media data; and a control application for requesting themedia server to destroy a bookmark item stored in the media server, finda content item stored in the media server associated with propertyinformation included in the bookmark item, and remove propertyinformation associated with the bookmark item from the content item. 47.An apparatus for conducting bookmark-related operations, the apparatuscomprising: a media server for storing content items including mediadata, wherein responsive to a received deletion request for a contentitem stored in the media server, the media server destroys the contentitem, finds a bookmark item stored in the media server associated withproperty information of the content item, and deletes the bookmark item.48. An apparatus for conducting bookmark-related operations, theapparatus comprising: a control application for requesting a device todestroy a content item stored in the device, find a bookmark item storedin the device associated with property information of the content item,and delete the bookmark item.